home *** CD-ROM | disk | FTP | other *** search
- Unit PercentCtrl;
- Interface
- Uses WinTypes, WinProcs, WObjects;
-
- type
- PPercentCtrl = ^TPercentCtrl;
- TPercentCtrl = object (TControl)
- function GetClassName: PChar; virtual;
- procedure Add(Pct: integer);
- function Percent: integer;
- procedure SetIt(Pct: integer);
- procedure Reset;
- end;
-
- Implementation
-
- {$I COMMCTRL.INC}
-
- var
- LibraryLoaded: boolean;
- HLibrary : THandle;
- SavedExit : Pointer;
-
- function TPercentCtrl.GetClassName: PChar;
- begin { TPercentCtrl.GetClassName }
- GetClassName := Pct_Name
- end { TPercentCtrl.GetClassName };
-
- procedure TPercentCtrl.Add(Pct: integer);
- begin { TPercentCtrl.Add }
- SendMessage(HWindow, pcm_AddPercent, Pct, 0)
- end { TPercentCtrl.Add };
-
- function TPercentCtrl.Get: integer;
- begin { TPercentCtrl.Get }
- Get := LoWord(SendMessage(HWindow, pcm_GetPercent, 0, 0))
- end { TPercentCtrl.Get };
-
- procedure TPercentCtrl.SetIt(Pct: integer);
- begin { TPercentCtrl.SetIt }
- SendMessage(HWindow, pcm_SetPercent, Pct, 0);
- end { TPercentCtrl.SetIt };
-
- procedure TPercentCtrl.Reset;
- begin { TPercentCtrl.Reset }
- SendMessage(HWindow, pcm_ResetPercent, 0, 0);
- end { TPercentCtrl.Reset };
-
- procedure UnloadLibrary;
- begin { UnloadLibrary }
- FreeLibrary(HLibrary);
- ExitProc := SavedExit
- end { UnloadLibrary };
-
- begin
- HLibrary := LoadLibrary('C:\Programs\Units\Percent.DLL');
- LibraryLoaded := HLibrary <> 0;
- if LibraryLoaded
- then
- begin
- SavedExit := ExitProc;
- ExitProc := @UnloadLibrary
- end
- end.